package com.gylang.dict.resolver;

import com.gylang.api.domain.EnumDictWrapper;

import java.util.List;

/**
 * @author gylang
 * data 2021/6/17
 */
public interface IEnumDictResolver {

	/**
	 * 解析获取枚举包装类
	 *
	 * @return 枚举包装类
	 */
	List<EnumDictWrapper> resolve();

	/**
	 * 包装枚举
	 *
	 * @param name
	 * @param type
	 * @param module
	 * @param remark
	 * @param enums
	 * @return
	 */
	default EnumDictWrapper enumDictWrapper(String name, String type, String version, String module, String remark, Enum<?>[] enums) {

		EnumDictWrapper enumDictWrapper = new EnumDictWrapper();
		enumDictWrapper.setName(name);
		enumDictWrapper.setType(type);
		enumDictWrapper.setRemark(remark);
		enumDictWrapper.setVersion(version);
		enumDictWrapper.setModule(module);
		enumDictWrapper.setEnums(enums);
		return enumDictWrapper;
	}
}
